package com.portal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.portal.model.entity.Book;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author 61073
* @description 针对表【t_book】的数据库操作Service
* @createDate 2025-09-27 09:54:25
*/
public interface BookService extends IService<Book> {

    /**
     * 按销量的降序排序，并且分页
     */
    Page<Book> findTopSales(Integer pageNum, Integer pageSize);

    /**
     * 按书籍的类型查询书籍，并且分页，按更新时间降序排序
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @param typeId 类别id
     * @return 返回分页对象
     */
    IPage<Book> findByType(Integer pageNum, Integer pageSize, Integer typeId);

    /**
     * 通过书籍id查询书籍
     */
    Book findById(Long id);
}
